#include<bits/stdc++.h>
using namespace std;
const int maxn=2e5+5;
int n,a[maxn],ans,maxx,sum[maxn];
void dfs(int dep,int np,int lr,int lb)
{
    if(ans+sum[n]-sum[dep-1]<=maxx)
    {
        return;
    }
    if(dep==n+1)
    {
        maxx=max(maxx,ans);
        return;
    }
    for(int i=0;i<2;i++)
    {
        if(np==0)
        {
            if(a[dep]==lr)
            {
                ans+=a[dep];
            }
            dfs(dep+1,i,a[dep],lb);
            if(a[dep]==lr)
            {
                ans-=a[dep];
            }
        }
        if(np==1)
        {
            if(a[dep]==lb)
            {
                ans+=a[dep];
            }
            dfs(dep+1,i,lr,a[dep]);
            if(a[dep]==lb)
            {
                ans-=a[dep];
            }
        }
    }

}
int main()
{
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    int T;
    cin>>T;
    while(T--)
    {
        memset(a,0,sizeof(a));
        memset(sum,0,sizeof(sum));
        maxx=0;
        ans=0;
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
            sum[i]=sum[i-1]+a[i];
        }
        dfs(1,0,0,0);
        ans=0;
        dfs(1,1,0,0);
        cout<<maxx<<endl;
    }
    return 0;
}
